///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Jun  5 2014)
// http://www.wxformbuilder.org/
//
// PLEASE DO "NOT" EDIT THIS FILE!
///////////////////////////////////////////////////////////////////////////

#ifndef __BASEMAINFRAME_H__
#define __BASEMAINFRAME_H__

#include <wx/artprov.h>
#include <wx/xrc/xmlres.h>
#include <wx/string.h>
#include <wx/bitmap.h>
#include <wx/image.h>
#include <wx/icon.h>
#include <wx/menu.h>
#include <wx/gdicmn.h>
#include <wx/font.h>
#include <wx/colour.h>
#include <wx/settings.h>
#include <wx/toolbar.h>
#include <wx/statusbr.h>
#include <wx/panel.h>
#include <wx/propgrid/propgrid.h>
#include <wx/propgrid/advprops.h>
#include <wx/sizer.h>
#include <wx/splitter.h>
#include <wx/frame.h>

///////////////////////////////////////////////////////////////////////////

#define MAIN_MENU 1000
#define MAIN_MENU_FILE_NEW 1001
#define MAIN_MENU_FILE_OPEN 1002
#define MAIN_MENU_FILE_SAVE 1003
#define MAIN_MENU_FILE_SAVE_AS 1004
#define MAIN_MENU_FILE_CLOSE 1005
#define MAIN_MENU_FILE_QUIT 1006
#define MAIN_MENU_EDIT_UNDO 1007
#define MAIN_MENU_EDIT_REDO 1008
#define MAIN_MENU_EDIT_CUT 1009
#define MAIN_MENU_EDIT_COPY 1010
#define MAIN_MENU_EDIT_PASTE 1011
#define MAIN_MENU_EDIT_DELETE 1012
#define MAIN_MENU_ABOUT 1013
#define MAIN_TOOLBAR 1014
#define MAIN_TOOLBAR_NEW 1015
#define MAIN_TOOLBAR_OPEN 1016
#define MAIN_TOOLBAR_SAVE 1017
#define MAIN_TOOLBAR_UNDO 1018
#define MAIN_TOOLBAR_REDO 1019
#define MAIN_TOOLBAR_CUT 1020
#define MAIN_TOOLBAR_COPY 1021
#define MAIN_TOOLBAR_PASTE 1022
#define MAIN_TOOLBAR_DELETE 1023

///////////////////////////////////////////////////////////////////////////////
/// Class BaseMainFrame
///////////////////////////////////////////////////////////////////////////////
class BaseMainFrame : public wxFrame
{
private:

protected:
	wxMenuBar* m_mainMenu;
	wxMenu* m_fileMenu;
	wxMenu* m_editMenu;
	wxMenu* m_helpMenu;
	wxToolBar* m_toolBarMain;
	wxToolBarToolBase* m_toolNew;
	wxToolBarToolBase* m_toolOpen;
	wxToolBarToolBase* m_toolSave;
	wxToolBarToolBase* m_toolUndo;
	wxToolBarToolBase* m_toolRedo;
	wxToolBarToolBase* m_toolCut;
	wxToolBarToolBase* m_toolCopy;
	wxToolBarToolBase* m_toolPaste;
	wxToolBarToolBase* m_toolDelete;
	wxStatusBar* statusBar;
	wxToolBar* m_toolBar3;
	wxToolBarToolBase* m_toolSelect;
	wxToolBarToolBase* m_toolMove;
	wxToolBarToolBase* m_toolAddCircle;
	wxToolBarToolBase* m_toolAddPolygon;
	wxSplitterWindow* m_splitter;
	wxPanel* m_workFieldPanel;
	wxPanel* m_propertyPanel;
	wxPropertyGrid* m_propertyGrid;

	// Virtual event handlers, overide them in your derived class
	virtual void OnExit( wxCloseEvent& event ) { event.Skip(); }
	virtual void OnNew( wxCommandEvent& event ) { event.Skip(); }
	virtual void OnOpen( wxCommandEvent& event ) { event.Skip(); }
	virtual void OnSave( wxCommandEvent& event ) { event.Skip(); }
	virtual void OnSaveAs( wxCommandEvent& event ) { event.Skip(); }
	virtual void OnClose( wxCommandEvent& event ) { event.Skip(); }
	virtual void OnQuit( wxCommandEvent& event ) { event.Skip(); }
	virtual void OnUndo( wxCommandEvent& event ) { event.Skip(); }
	virtual void OnRedo( wxCommandEvent& event ) { event.Skip(); }
	virtual void OnCut( wxCommandEvent& event ) { event.Skip(); }
	virtual void OnCopy( wxCommandEvent& event ) { event.Skip(); }
	virtual void OnPaste( wxCommandEvent& event ) { event.Skip(); }
	virtual void OnDelete( wxCommandEvent& event ) { event.Skip(); }
	virtual void OnAbout( wxCommandEvent& event ) { event.Skip(); }
	virtual void OnToolSelectSelected( wxCommandEvent& event ) { event.Skip(); }
	virtual void OnToolMoveSelected( wxCommandEvent& event ) { event.Skip(); }
	virtual void OnToolCreateCircle( wxCommandEvent& event ) { event.Skip(); }
	virtual void OnToolCreatePolygon( wxCommandEvent& event ) { event.Skip(); }
	virtual void OnWorkPanelKeyDown( wxKeyEvent& event ) { event.Skip(); }
	virtual void OnWorkPanelKeyUp( wxKeyEvent& event ) { event.Skip(); }
	virtual void OnWorkPanelLmbDown( wxMouseEvent& event ) { event.Skip(); }
	virtual void OnWorkPanelLmbUp( wxMouseEvent& event ) { event.Skip(); }
	virtual void OnWorkPanelMouseMove( wxMouseEvent& event ) { event.Skip(); }
	virtual void OnWorkPanelMouseWheel( wxMouseEvent& event ) { event.Skip(); }
	virtual void OnWorkPanelPaint( wxPaintEvent& event ) { event.Skip(); }
	virtual void OnWorkPanelRmbDown( wxMouseEvent& event ) { event.Skip(); }
	virtual void OnWorkPanelRmbUp( wxMouseEvent& event ) { event.Skip(); }
	virtual void OnWorkPanelSize( wxSizeEvent& event ) { event.Skip(); }
	virtual void OnPropertyGridChanged( wxPropertyGridEvent& event ) { event.Skip(); }

public:

	BaseMainFrame( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxT( "Cando Resource Editor" ), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 542, 453 ), long style = wxDEFAULT_FRAME_STYLE | wxTAB_TRAVERSAL );

	~BaseMainFrame();

	void m_splitterOnIdle( wxIdleEvent& ) {
		m_splitter->SetSashPosition( 300 );
		m_splitter->Disconnect( wxEVT_IDLE, wxIdleEventHandler( BaseMainFrame::m_splitterOnIdle ), 0, this );
	}

};

#endif
